home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Software Contest 3 / FM Towns Software Contest 3.iso / exp / video_t / no1 / c_sorse / vol2.c < prev    next >
Text File  |  1994-01-07  |  4KB  |  142 lines

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #include <winb.h>
  5. #include <te.h>
  6. #include <fntb.h>
  7. #include <gui.h>
  8.  
  9. int    Dialog_vol = -1 ;
  10. int    Message_vol = -1 ;
  11. int    TIcon_vol[4] = -1 ;
  12. int    _001Message_vol = -1 ;
  13. int    _002Message_vol = -1 ;
  14. int    _003Message_vol = -1 ;
  15. int    _004Message_vol = -1 ;
  16. int    NumBox_voll = -1 ;
  17. int    NumBox_volr = -1 ;
  18. int    _005Message_vol = -1 ;
  19. int    _006Message_vol = -1 ;
  20. int    DButton_vol = -1 ;
  21. int    _001DButton_vol = -1 ;
  22. int    _007Message_vol = -1 ;
  23. int    _008Message_vol = -1 ;
  24.  
  25. extern     int    backid ;
  26. extern int    Dia_edit ;
  27. extern int    Dialog_menu ;
  28. extern int    Text ;
  29.  
  30. int        radiovol = 0 ;
  31.  
  32. /*    initDataVOL:TIcon_vol[0]:MJ_TICONL40の呼び出し関数    */
  33. /*    initDataVOL:TIcon_vol[1]:MJ_TICONL40の呼び出し関数    */
  34. /*    initDataVOL:TIcon_vol[2]:MJ_TICONL40の呼び出し関数    */
  35. /*    initDataVOL:TIcon_vol[3]:MJ_TICONL40の呼び出し関数    */
  36. int    vol(kobj, messId, argc, pev, trigger)
  37. int        kobj ;
  38. int        messId ;
  39. int        argc ;
  40. EVENT    *pev ;
  41. int        trigger ;
  42. {
  43. /*    現在選択状態にあるボタンを非選択状態にし、選択可にします    */
  44. MTL_resetFlagObj(radiovol,~(MS_UNSELECT | MS_TOGGLE)) ;
  45. MMI_SendMessage(radiovol, MM_SHOW, 0) ;
  46. /*    画面選択フラグを更新します    */
  47. radiovol = kobj ;
  48.  
  49. /*    呼び出し元トグルボタンを選択状態にし、選択不可にします    */
  50. MTL_setFlagObj(kobj, MS_UNSELECT | MS_TOGGLE) ;
  51. MMI_SendMessage(kobj, MM_SHOW, 0) ;
  52.  
  53. return NOERR ;
  54. }
  55.  
  56. /*    initDataVOL:DButton_vol:MJ_DBUTTONL40の呼び出し関数    */
  57. int    vol_on(kobj, messId, argc, pev, trigger)
  58. int        kobj ;
  59. int        messId ;
  60. int        argc ;
  61. EVENT    *pev ;
  62. int        trigger ;
  63. {
  64. int    iii;
  65. char    comnd[200]="\0";
  66. int    min, max, delta, ptColum ;
  67. int    delay0;
  68. int     delay1;
  69. char    suu[10];
  70. /*    各設定値の読み取り    */
  71. for (iii = 0 ; iii < 4 ; iii++)
  72. {
  73. if (TIcon_vol[iii] == radiovol)        break ;
  74. }
  75.  
  76. if(iii != 4)
  77.     {
  78.     switch    (iii)
  79.         {
  80.         case    0:    strcat(comnd,"/VOL 0 ");    break;
  81.         case    1:    strcat(comnd,"/VOL 1 ");    break;
  82.         case    2:    strcat(comnd,"/VOL 2 ");    break;
  83.         case    3:    strcat(comnd,"/VOL 3 ");    break;
  84.         }
  85. MMI_SendMessage(NumBox_voll, MM_GETNUMBOX, 5,
  86.                 &delay0, &min, &max, &delta, &ptColum) ;
  87. MMI_SendMessage(NumBox_volr, MM_GETNUMBOX, 5,
  88.                 &delay1, &min, &max, &delta, &ptColum) ;
  89.  
  90.     _itoa(delay0,suu,10);
  91.     strcat(comnd,suu);
  92.     strcat(comnd," ");
  93.     _itoa(delay1,suu,10);
  94.     strcat(comnd,suu);
  95.     MMI_SendMessage(Text,MM_SETTEXT,3,comnd,200,TRUE) ;
  96.     MMI_SendMessage(Text,MM_SETTEXT,3,"\n",5,TRUE) ;
  97.     MMI_SendMessage(Dialog_vol,MM_ERASE,0) ;
  98.     MMI_SendMessage(Dialog_vol,MM_DETACH,0) ;
  99.     MMI_SendMessage(Text, MM_ERASE, 0) ;
  100.     MMI_SendMessage(Text, MM_WAKE, 0) ;
  101.     MMI_SendMessage(Text, MM_SHOW, 0) ;
  102.     /*    メニューを選択可とします。    */
  103.     MTL_resetAtrObj(Dialog_menu, ~MS_DSPONLYL40) ;
  104.     MTL_resetAtrObj(Dia_edit, ~MS_DSPONLYL40) ;
  105.     MTL_resetAtrObj(backid, ~MS_DSPONLYL40) ;
  106.     }
  107.  
  108. return NOERR ;
  109. }
  110.  
  111. /*    initDataVOL:_001DButton_vol:MJ_DBUTTONL40の呼び出し関数    */
  112. int    vol_off(kobj, messId, argc, pev, trigger)
  113. int        kobj ;
  114. int        messId ;
  115. int        argc ;
  116. EVENT    *pev ;
  117. int        trigger ;
  118. {
  119. MMI_SendMessage(Dialog_vol,MM_ERASE,0) ;
  120. MMI_SendMessage(Dialog_vol,MM_DETACH,0) ;
  121. /*    メニューを選択可とします。    */
  122. MTL_resetAtrObj(Dialog_menu, ~MS_DSPONLYL40) ;
  123. MTL_resetAtrObj(Dia_edit, ~MS_DSPONLYL40) ;
  124. MTL_resetAtrObj(backid, ~MS_DSPONLYL40) ;
  125. MMI_SendMessage(Text, MM_SHOW, 0) ;
  126. MMI_SendMessage(Text, MM_WAKE, 0) ;
  127.  
  128. return NOERR ;
  129. }
  130.  
  131. int    l_vol()
  132. {
  133. /*    背景を選択不可とします。*/
  134. MTL_setAtrObj(backid, MS_DSPONLYL40) ;
  135. MTL_setAtrObj(Dialog_menu, MS_DSPONLYL40) ;
  136. MTL_setAtrObj(Dia_edit, MS_DSPONLYL40) ;
  137.  
  138. MMI_SendMessage(Dialog_vol,MM_ATTACH,1,MMI_GetBaseObj()) ;
  139. MMI_SendMessage(Dialog_vol, MM_SHOW, 0) ;
  140. return NOERR ;
  141. }
  142.